package com.neusoft.yiyang.customer.service;

import com.neusoft.yiyang.common.entity.customer.LeaveRequest;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;
import java.util.Map;
import java.util.Objects;

public interface LeaveService {

    // 提交退住申请
    Map<String, Object> createLeaveRequest(LeaveRequest leaveRequest);

    // 获取所有退住申请
    List<Map<String, Object>> getAllLeaveRequests();

    // 根据ID获取退住申请信息
    LeaveRequest getLeaveRequestById(Integer leaveRequestId);

    // 更新退住申请审批状态
    void updateLeaveRequestStatus(Integer leaveRequestId, String status);

    //拒绝申请
    void rejectLeaveRequest(Integer leaveRequestId);

    //同意申请
    void agreeLeaveRequest(Integer leaveRequestId);

    //根据姓名查询
    List<Map<String, Object>> searchByCustomerName(String customerName);

    //获取护工对应的客户退住记录
    List<Map<String, Object>> getLeaveRequestsByCaretakerId(Integer caretakerId);

    //删除退住申请
    void deletLeaveRequest(Integer leaveRequestId);

    //编辑退住申请
    void updateLeaveRequest(Integer leaveRequestId, LeaveRequest updateRequest);
}
